1. Field of the Invention
This invention relates generally to a process for scheduling tasks in a distributed time-triggered embedded system and, more particularly, to a process for scheduling processor tasks and message tasks in a distributed real-time time-triggered embedded system using a common communications bus, where the several processors in the system are decoupled from each other to provide scheduling extensibility.
2. Discussion of the Related Art
Embedded systems are known in the art that include a plurality of distributed processors that transmit digital messages between each other on a time-triggered communications bus. The system employs software tasks allocated to each individual processor. The tasks executed by the processors transmit messages between the processors on the communications bus. Because the bus is time-triggered, only one message is transmitted on the bus at a time. The tasks are periodic and have hard deadlines that may produce catastrophic results if not met. For example, in an automotive steer-by-wire embedded system, it is necessary that the outputs from the various processors in the system have strict deadlines. There are also precedent constraints for the tasks where one task may need to be executed before another task is executed, possibly within a single execution period. Therefore, it is necessary that the system properly schedule the execution of the tasks in each processor and the transmission of the task messages on the bus so that all of the deadlines are met and all of the constraints are satisfied.
It is desirable that the scheduling employed in an embedded system be extensible so that if changes are needed or upgrades are developed after the initial implementation of the system, such as adding or removing processors and/or adding or removing tasks, the original schedule is not affected. For example, if a task set is changed at one processor or a new processor is added to the system, then it is desirable that this change not affect the schedules for the tasks and message transmissions of the other processors. If the new messages can be transmitted on the bus without affecting the transmission of the existing messages, then no change is needed for the scheduling of the other processors already in use. Otherwise, it may be necessary to reprogram the bus schedule at great expense.